{ Summer Informatics School.
  Problemset: http://agul-problems1.googlecode.com/svn/trunk/2010-2011/sis/problemset11.pdf
  Problem D
  Points: 55
}
uses SysUtils,math;
var i,n,m,x,y,c,go,head,tail,j:longint; a:array[0..1010,0..1010] of boolean; f:array[0..1010] of boolean; w,q:array[0..1010] of longint; pl,g:boolean;
begin
fillchar(a,sizeof(a),false);
fillchar(w,sizeof(w),0);
fillchar(f,sizeof(f),false);
read(n,m);
for i:=1 to m do begin
	read(x,y);
	inc(w[x]);
	inc(w[y]);
	a[x][y]:=true;
	a[y][x]:=true;	
end;
pl:=false;
g:=true;
f[1]:=true;
head:=1;
tail:=1;
q[1]:=1;
c:=1;
while g do begin
	go:=0;
	if w[c]=0 then g:=false else begin
		for i:=1 to n do 
			if a[c][i] then begin
				if ((go=0) or (w[i]<w[go])) and (not f[i]) then go:=i;
				inc(tail);
				q[tail]:=i;
				f[i]:=true;	
			end;
		for j:=head to tail do begin
			c:=q[j];
			if c<>go then begin
				for i:=1 to n do begin
					if a[i][c] then dec(w[i]);
					a[i][c]:=false;
					a[c][i]:=false; 
				end;
				w[c]:=0;
			end;
		end;
		c:=go;
		head:=1;
		tail:=1;
		q[1]:=c;
		pl:=not pl;
	end;
end;
if pl then write('Vladimir') else write('Nikolay');
end.
